DESCRIPTION OF THE INVENTION
This invention relates to information display systems and more particularly, to interactive graphics workstations in which a user positions a tracking cursor in a graphics image by manipulating a tracking device (mouse, tablet, joystick, tracking ball, etc.) and then selects an item or screen position in the image by some action (usually a switch closure). A typical graphics workstation provides a tracking/picking function having the following 3 major components:
1. Positioning of a visual indicator (the cursor) on the screen in response to the user's movement of the tracking device;
2. Positioning of an invisible active area (pick window) used to select items drawn on the screen;
3. A signaling mechanism (the switch closure) used to notify the system that the user wishes to select the item currently under the cursor.
A pick occurs when the graphics processor draws an item that intersects the pick window when the switch is closed.
In the prior art, components one and two above are tied together, that is, the cursor and pick window positions are updated in unison so that they are always the same. Since the cursor must continually move to reflect the position of the tracking device, the graphics system continually moves the pick window so that it is at the position of the cursor. In this way, the pick window will normally be positioned on the item desired by the user when he presses the switch to cause a pick.
The rate at which the cursor and pick window are repositioned in response to the movement of the tracking device must be sufficiently great to ensure that the user perceives the motion of the cursor on the screen to be "smooth" (eye perception) and "responsive" (hand-eye perception). A minimum rate of about 25 times per second is required. For architectural considerations of a program running in a workstation, recognition of the switch closure may only occur at the beginning of each frame generation cycle, which is potentially a much lower rate. Since this is the case, the position of the pick window at the time the pick signal is recognized may be different than the position of the cursor at the time the signal was issued. If the user's movement of the tracking device is fast and the frame generation time is relatively long, this difference can be quite significant, resulting in the following two types of errors:
1. Type 1: The desired item is not picked; (See FIG. 1).
2. Type 2: An item that was not desired by the user is picked; (See FIG. 2).
The potential for these two types of errors reduces the user's productivity for the following reasons:
1. The user reduces the speed at which he works in an effort to prevent the occurrence of either type of error;
2. When a type 1 error does occur, the user must resignal his desire to pick;
3. When a type 2 error does occur, the user must correct the undesired pick as well as resignal his desire to pick.
Type 1 errors occur for one of the following two reasons:
1. The switch is closed and released (opened) before the next frame generation cycle begins. In this case, the closing of the switch is not detected.
2. In response to the movement of the tracking device after the switch has been closed, the pick window moves so that the desired graphic object no longer intersects the pick window (see FIG. 1).
Type 2 errors occur for the second of the above reasons, with the added condition that not only is the desired object not in the window, but an undesired object is in the window (see FIG. 2).